package van.planifolia.observer;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Intellij IDEA<br>
 *
 * @author Planifolia.Van
 * @version 1.0
 * @date 2022/11/9 19:31
 */
public class HeNanRadioStation implements RadioStation{
    // 构造一个存放观察者的集合
    private List<Radio> radios = new ArrayList<>();
    // 下面这这几个方法没啥好说的管理观察者的
    @Override
    public void addRadio(Radio radio) {
        System.out.println(radio + " 已添加");
        radios.add(radio);
    }

    @Override
    public void removeRadio(int index) {
        System.out.println(radios.get(index) + " 已删除");
        radios.remove(index);
    }

    @Override
    public void showRadio() {
        radios.forEach(System.out::println);
    }

    /**
     * 对当前管理的所有观察者进行广播操作
     * @param msg 要广播的消息
     */
    @Override
    public void action(String msg) {
        radios.forEach(radio -> radio.play(msg));
    }
}
